#ifndef __DICT_PRODUCER_H
#define __DICT_PRODUCER_H

#include "../../lib/cppjieba/Jieba.hpp"
#include "Mylogger.hh"
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <map>
#include <set>
#include <iterator>
#include <dirent.h>
#include <vector>

using namespace std;
using cppjieba::Jieba;
using std::cin;
using std::cout;
using std::endl;
using std::ifstream;
using std::istringstream;
using std::map;
using std::ostringstream;
using std::set;
using std::string;

class DictProducer
{
public:
    DictProducer();

    void buildEnDict(const string & filename);
    void buildChDict();
    void createIndex();
   // void store();

    void print_dict();
    void print_stop_en();
    void Surch(const string & ch);
private:
    Jieba _jieba;
    //vector<string> _files;                  // 存放文件的集合
    vector<pair<string, int>> _dict_vector;     // 单词和词频
    map<string, set<int>> _word_index;      // 单个字母对应单词的索引集合 h： hello hi hot
    set<string> _stop_en;                   // 英文停止词集合
    set<string> _stop_ch;                   // 中文停止词集合
};

#endif